package file01;

import java.io.File;

/*
File类的获取功能
   String[] list()
          获取指定路径下的文件或文件夹的名称，将这些名称封装到一个字符串数组中，返回这个字符串数组
          只能获取一级文件夹下的内容，子级文件夹下的内容获取不到
          如果路径表示一个文件路径，该方法返回null，遍历null会报  java.lang.NullPointerException

    File[] listFiles()
          获取指定路径下的文件或文件夹的路径，将这些路径封装到一个file[]数组中，然后返回该数组
          如果指定的文件夹路径是相对路径，那么将来输出File[]数组中的file对象，最终结果都是一个个相对路径
          如果指定的文件夹路径是绝对路径，那么将来输出File[]数组中的file对象，最终结果都是一个个绝对路径
          只能获取一级文件夹下的内容，子级文件夹下的内容获取不到
          如果路径表示一个文件路径，该方法返回null，遍历null会报  java.lang.NullPointerException
 */
public class FileDemo07 {
    public static void main(String[] args) {
        //method01();
        File file = new File("Day22/abc");
        File[] files = file.listFiles();
        for (File f : files) {
            System.out.println(f);
        }
        System.out.println("---------");

        File file2 = new File("D:\\java_vev\\workspace\\java-se\\Project_JavaSE\\Day22\\abc");
        File[] files2 = file2.listFiles();
        for (File f : files2) {
            System.out.println(f);
        }
        System.out.println("--------------------");
        File file3 = new File("Day22/1.txt");//java.lang.NullPointerException
        File[] files3 = file3.listFiles();
        for (File f : files3) {
            System.out.println(f);//java.lang.NullPointerException
        }
    }

    private static void method01() {
        File file = new File("Day22/abc");
        String[] files = file.list();
        for (String str : files) {
            System.out.println(str);
        }

        System.out.println("-----------------");

        File file2 = new File("D:\\java_vev\\workspace\\java-se\\Project_JavaSE\\Day22\\abc");
        String[] files2 = file2.list();
        for (String str : files) {
            System.out.println(str);
        }

        System.out.println("-----------");

     /*   File file3 = new File("Day22/1.txt");
        String[] files3 = file3.list();
        for (String str : files3) {
            System.out.println(str);//java.lang.NullPointerException
        }*/
    }
}
